﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Public;
using BLL;

namespace QLNhanKhau
{
    public partial class frmKhaiTu : DevComponents.DotNetBar.Metro.MetroForm
    {
        public frmKhaiTu()
        {
            InitializeComponent();
        }

        private void btnTim_Click(object sender, EventArgs e)
        {
            int MaSHK = int.Parse(txtMaSHK.Text);
            List<NhanKhauPublic> list_nk = NhanKhauBLL.LoadNhanKhauByMaSHK(MaSHK);

            if (list_nk.Count == 0)
            {
                txtDuong.Text = txtAp.Text = txtSoNha.Text = txtChuHo.Text = "";
                dgvNhanKhau.DataSource = null;
                groupBox1.Enabled = false;
                groupBox2.Enabled = false;
                MessageBox.Show("Không tìm thấy!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            groupBox1.Enabled = true;
            groupBox2.Enabled = true;
            txtChuHo.Text = list_nk.Find(item => item.QuanHe == "Chủ hộ").HoTen;
            //txtChuHo.Text = list_nk.Where(item => item.QuanHe == "Chủ hộ").FirstOrDefault().HoTen;

            dgvNhanKhau.DataSource = list_nk;
            dgvNhanKhau.Columns[0].HeaderText = "Mã nhân khẩu";
            dgvNhanKhau.Columns[1].HeaderText = "Họ và tên";
            //dgvNhanKhau.Columns[3].HeaderText = "Tên gọi khác";
            dgvNhanKhau.Columns[4].HeaderText = "CMND";
            dgvNhanKhau.Columns[5].HeaderText = "Ngày sinh";
            dgvNhanKhau.Columns[6].HeaderText = "Giới tính";
            dgvNhanKhau.Columns[7].HeaderText = "Quê quán";
            dgvNhanKhau.Columns[8].HeaderText = "Dân tộc";
            dgvNhanKhau.Columns[9].HeaderText = "Nghề nghiệp";
            dgvNhanKhau.Columns[10].HeaderText = "Quốc tịch";
            //dgvNhanKhau.Columns[11].HeaderText = "Chứng tử";
            dgvNhanKhau.Columns[12].HeaderText = "Tôn giáo";
            dgvNhanKhau.Columns[13].HeaderText = "Trình độ";
            dgvNhanKhau.Columns[14].HeaderText = "Sổ hộ khẩu";
            dgvNhanKhau.Columns[15].HeaderText = "Quan hệ";
            //dgvNhanKhau.Columns[0].Visible = false;
            //dgvNhanKhau.Columns[1].Visible = false;
            dgvNhanKhau.Columns[2].Visible = false;
            dgvNhanKhau.Columns[3].Visible = false;
            //dgvNhanKhau.Columns[4].Visible = false;
            //dgvNhanKhau.Columns[5].Visible = false;
            //dgvNhanKhau.Columns[6].Visible = false;
            //dgvNhanKhau.Columns[7].Visible = false;
            dgvNhanKhau.Columns[8].Visible = false;
            //dgvNhanKhau.Columns[9].Visible = false;
            dgvNhanKhau.Columns[10].Visible = false;
            dgvNhanKhau.Columns[11].Visible = false;
            dgvNhanKhau.Columns[12].Visible = false;
            dgvNhanKhau.Columns[13].Visible = false;
            dgvNhanKhau.Columns[14].Visible = false;
            //dgvNhanKhau.Columns[15].Visible = false;
            

            SoHoKhauPublic shk = SoHoKhauBLL.LoadSoHoKhauByMaSHK(MaSHK);

            txtDuong.Text = shk.Duong;
            txtAp.Text = shk.KhuPho.ToString();
            txtSoNha.Text = shk.SoNha;
            txtNoiOCuoiCung.Text = txtSoNha.Text + ", " + txtDuong.Text + ",KP/Ấp " + txtAp.Text;
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Thoát không lưu", "Thoát", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            if (result == DialogResult.Yes)
            {
                this.MdiParent = null;
                this.Dispose();
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            KhaiTuPublic ct = new KhaiTuPublic();
            ct.MaCT = int.Parse(txtMaCT.Text);
            ct.SoChungTu =int.Parse(txtSoChungTu.Text);
            ct.NguoiDangKi = txtNguoiDangki.Text;
            ct.NguoiCap = txtNguoiCap.Text;
            ct.ChucVu = txtChucVu.Text;
            ct.NgayCap =DateTime.Parse(dateNgayCapBaoTu.Text);
            ct.NgayChet = DateTime.Parse(dateNgayChet.Text+nudGio.Value+nudPhut.Value);
            ct.NoiCap = txtNoiCap.Text;
            ct.NoiChet = txtNoiChet.Text;
            ct.LyDoChet = txtLyDoChet.Text;
            ct.NoiOCuoiCung = txtNoiOCuoiCung.Text;
            
            
            KhaiTuBLL.insertChungTu(ct);

            NhanKhauBLL.UpdateChungTu(int.Parse(txtMaCT.Text), int.Parse(txtMaCT.Text));
            // dòng này hả?uhm

        }

        private void dgvNhanKhau_SelectionChanged(object sender, EventArgs e)
        {
            DataGridViewCell cell = null;
             
            foreach (DataGridViewCell select in dgvNhanKhau.SelectedCells)
            {
                cell = select;
            }
            if (cell != null)
            {
                DataGridViewRow row = cell.OwningRow;
                
                txtHoTen.Text = (string)row.Cells[1].Value;
                txtCMND.Text = (string)row.Cells[4].Value;    
                txtNgaySinh.Text=((DateTime)row.Cells[5].Value).ToString("dd-MM-yyyy");
                if ((bool)row.Cells[6].Value == true)
                    rdtGioiTinhNam.Checked = true;
                else
                    rdtGioiTinhNu.Checked = true;
                txtQueQuan.Text=(string)row.Cells[7].Value;
                txtDanToc.Text = (DanTocBLL.GetDanTocByMaDT((byte)row.Cells[8].Value).TenDanToc).ToString();
              
                txtNgheNghiep.Text = (string)row.Cells[9].Value;
                txtQuocTich.Text = (QuocTichBLL.GetQuocTichByMaQT((byte)row.Cells[10].Value).TenQuocTich).ToString();
                txtTonGiao.Text = (TonGiaoBLL.GetTonGiaoByMaTG((byte)row.Cells[12].Value).TenTonGiao).ToString();
                txtTrinhDo.Text = (TrinhDoBLL.GetTrinhDoByMaTD((byte)row.Cells[13].Value).TenTrinhDo).ToString();

                txtMaCT.Text = ((int)row.Cells[0].Value).ToString();
                txtMaCT.Enabled = false;
                
                //txtQuanHe.Text = row.Cells[14].Value.ToString();
                // ví dụ muốn lấy tất cả thông tin của nhân khẩu với mank =  row.Cells[2].Value.ToString()
                // thực hiện câu truy vấn với mank, rồi đổ dữ liệu từ câu truy vấn trả về vào các textbox.
                //Hiểu k. Vì cái lưới hiện thời k chưa đủ dữ liệu để hiển thị ra textbox
            }
            
        }

        private void txtMaSHK_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtSoChungTu_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void textBoxX3_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

   }

}

